Delphi a Abra - predefinovany typ currency

Otázka od: Kalhous

8. 10. 2004 12:13

Zdravim.
Narazil jsem na problem a snad ho jako delphi neodbornik budu umet popsat.
Delame aplikaci (D6) ktera komunikuje s OLE Automation Serverem systemu Abra.
Aby komunikovala, musi se do uses unity
pridat
AbraOLE_TLB
kde je ovsem oblibeny delphi typ currency predefinovan - nahle je to interface.
Takze v unite kde je Abra OLE nelze pouzivat delphi typ currency - hlasi to
takove roztomilosti jako
Incompatible types: 'DB.Currency' and 'AbraOLE_TLB.Currency'
Incompatible types: 'Extended' and 'Currency'
a podobne. Jak z toho?
Z.Kalhous
ToWare s.r.o.


Odpovedá: Karel Kral

8. 10. 2004 12:28

A co takto: System.Currency (nevim, ale snad to je v unite System)
Kalhous napsal(a):

> Zdravim.
> Narazil jsem na problem a snad ho jako delphi neodbornik budu umet popsat.
Delame aplikaci (D6) ktera komunikuje s OLE Automation Serverem systemu Abra.
Aby komunikovala, musi se do uses unity
> pridat
> AbraOLE_TLB
> kde je ovsem oblibeny delphi typ currency predefinovan - nahle je to
interface. Takze v unite kde je Abra OLE nelze pouzivat delphi typ currency -
hlasi to takove roztomilosti jako
> Incompatible types: 'DB.Currency' and 'AbraOLE_TLB.Currency'
> Incompatible types: 'Extended' and 'Currency'
> a podobne. Jak z toho?
> Z.Kalhous
> ToWare s.r.o.
>
>
>
>
>

--
______________________________________________________
Karel Kral, vedouci odd. IT / IT manager
Purus, s.r.o., Cezavy 627, 664 56 Blucina, CZ
Tel: 547 235 000, 602 552 432, Fax: 547 231 203
E-Mail: mailto:kral@purus.cz, WWW: http://www.purus.cz
______________________________________________________


Odpovedá: Lebeda David

8. 10. 2004 12:13

 Delame aplikaci (D6) ktera komunikuje s OLE Automation
> Serverem systemu Abra. Aby komunikovala, musi se do uses unity pridat
> AbraOLE_TLB kde je ovsem oblibeny delphi typ currency predefinovan -
> nahle je to interface. Takze v unite kde je Abra OLE nelze pouzivat
> delphi typ currency - hlasi to takove roztomilosti jako Incompatible
> types: 'DB.Currency' and 'AbraOLE_TLB.Currency' Incompatible types:
> 'Extended' and 'Currency' a podobne.

Pokud nekdo neporadi neco lepsiho, tak (bez znalosti veci) bych zkusil tam, kde
chcete
pouzit typ currency z Delphi, jako typ promenne nepsat currency, ale
system.currency.
Podobne v pripade zameru pouzit predefinovany typ currency uvadet takto jmeno
unity,
ze ktere se ma definice prevzit, tj. napr. AbraOLE_TLB.currency, ale jak rikam,
nevim,
do jake miry je to dobre reseni.

David Lebeda


Odpovedá: Martin Schayna

8. 10. 2004 13:15

Kalhous wrote:
> Narazil jsem na problem a snad ho jako delphi neodbornik budu umet
> popsat. Delame aplikaci (D6) ktera komunikuje s OLE Automation
> Serverem systemu Abra. Aby komunikovala, musi se do uses unity pridat
> AbraOLE_TLB
> kde je ovsem oblibeny delphi typ currency predefinovan - nahle je to
> interface. Takze v unite kde je Abra OLE nelze pouzivat delphi typ
> currency - hlasi to takove roztomilosti jako Incompatible types:
> 'DB.Currency' and 'AbraOLE_TLB.Currency'
> Incompatible types: 'Extended' and 'Currency'
> a podobne. Jak z toho?

AbraOLE_TLB.Currency je typ interface (na objekt s popisem meny),
kdezto System.Currency je ciselny typ. Pokud dojde ke konfliktu jmen,
plati deklarace z unity uvedene v uses jako druhe v poradi, takze by
postacilo prohodit poradi unit v uses, ale v tomto pripade je unita System
deklarovana implicitne v uses jako prvni. Presto jsou mozna dve reseni:

1) pouzivat plne kvalifikovana jmena, napr. System.Currency

2) nadeklarovat si v unite kde se pouziva AbraOLE_TLB tento typ:
type Currency = System.Currency;

Martin Schayna
www.abra.cz


Odpovedá: bzaujec

9. 10. 2004 22:24


On Fri, 8 Oct 2004 12:39:12 +0200
"Kalhous" <kalhous@eu.cz> wrote:

> Zdravim.
> Narazil jsem na problem a snad ho jako delphi neodbornik budu umet popsat.
Delame aplikaci (D6) ktera komunikuje s OLE Automation Serverem systemu Abra.
Aby komunikovala, musi se do uses unity
> pridat
> AbraOLE_TLB
> kde je ovsem oblibeny delphi typ currency predefinovan - nahle je to
interface. Takze v unite kde je Abra OLE nelze pouzivat delphi typ currency -
hlasi to takove roztomilosti jako
> Incompatible types: 'DB.Currency' and 'AbraOLE_TLB.Currency'
> Incompatible types: 'Extended' and 'Currency'
> a podobne. Jak z toho?
> Z.Kalhous
> ToWare s.r.o.
>

Pri importe TLB sa daju jednotlive typy premenovat, takze by mozno pomohlo pri
importe TLB ten typ currency premenovat na iny, napr
AbraCurrency

--
bzaujec <bzaujec@zoznam.sk>